#ifndef CLOGGER_H
#define CLOGGER_H
#include <iostream>
#include <string>
#include <stdarg.h>
#include <stdio.h>

#define LOG_LEVEL_DEBUG -5
#define LOG_LEVEL_NOTICE -1
#define LOG_LEVEL_WARN 0
#define LOG_LEVEL_ERROR 5
#define LOG_LEVEL_CRITICAL 10

class CLogger
{
public:
    void log(int nLogLevel, char * format,...);
public:
    //public instance pointer
    static CLogger* Instance();
    //CLogger Singleton class cleaner functions
    static void Destroy();
    static void Release();
protected:
    CLogger();
    //~CLogger();
    static CLogger* _instance;
    static int _refCount;
private:
    int nLogEvent;
};

#endif // CLOGGER_H
